//////////////////////elaborado por: Susana Taquichiri////////////////////////
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Mvc;
using Boa.AIT.AccesoDatos.Entidades;
using Boa.AIT.Negocios;
using Boa.AIT.Negocios.Servicios;
using Didsoft.Mvc.DataModel;
using Didsoft.Mvc.Controller;
using Didsoft.Mvc.DataModel.Lites;

namespace Boa.AIT.Web.Controllers
{
    public class AIT_ModeloEquipoController : BaseController<AIT_ModeloEquipo>
    {
	    #region interface servicios AIT_ModeloEquipo

		private IAIT_ModeloEquipoNegociosServicio servicio = null;

		#endregion
		
		
		#region constructor and overridable

        public AIT_ModeloEquipoController()
        {
		    servicio = new AIT_ModeloEquipoNegocios();
            base.SetDataModelService(servicio);

            base.DropdownListStringsProp = "Nombre";
        }
		        

		#region overrided methods
        public override void PreCreate(dynamic ViewBag)
        {
             ViewBag.AIT_MarcaEquipos=new AIT_MarcaEquipoNegocios().ObtenerTodas();

        }
        public override void PreEdit(dynamic ViewBag)
        {
             ViewBag.AIT_MarcaEquipos=new AIT_MarcaEquipoNegocios().ObtenerTodas();

        }
        #endregion


		#endregion

		#region	actions

		[HttpGet]
		public override ActionResult Index()
        {
            return RedirectToAction("FilterList");
        }



        [HttpPost]
        public JsonResult JSONModelosEquipos()
        {
            try
            {
                List<KeyValueLite> datas = new List<KeyValueLite>();
                datas = servicio.ObtenerTodas().Where(p => !p.TipoEquipo.EsAccesorio).Select(p => new KeyValueLite() { DisplayText = p.Nombre, Value = p.Id.ToString() }).ToList();
                return Json(new { Result = "OK", Options = datas });
            }
            catch (Exception ex)
            {
                return Json(new { Result = "ERROR", Message = ex.Message });
            }
        }

        [HttpPost]
        public JsonResult JSONModelosAccesorios()
        {
            try
            {
                List<KeyValueLite> datas = new List<KeyValueLite>();
                datas = servicio.ObtenerTodas().Where(p => p.TipoEquipo.EsAccesorio).Select(p => new KeyValueLite() { DisplayText = p.Nombre, Value = p.Id.ToString() }).ToList();
                return Json(new { Result = "OK", Options = datas });
            }
            catch (Exception ex)
            {
                return Json(new { Result = "ERROR", Message = ex.Message });
            }
        }

        public JsonResult ModeloDeMarca(int marcaequipoId)
        {
            try
            {
                List<AIT_ModeloEquipo> accesos = servicio.ListarModelo(marcaequipoId);
                return Json(new { Result = "OK", Records = accesos });
            }
            catch (Exception ex)
            {
                return Json(new { Result = "ERROR", Message = ex.Message });
            }

        }


		#endregion


    }
}

